<!DOCTYPE html>

<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">

<title>module ActiveSupport::Inflector - Rails Framework Documentation</title>

<link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">

<script type="text/javascript">
  var rdoc_rel_prefix = "../";
</script>

<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>


<body id="top" class="module">
<nav id="metadata">
  <nav id="home-section" class="section">
  <h3 class="section-header">
    <a href="../index.html">Home</a>
    <a href="../table_of_contents.html#classes">Classes</a>
    <a href="../table_of_contents.html#methods">Methods</a>
  </h3>
</nav>


  <nav id="search-section" class="section project-section" class="initially-hidden">
  <form action="#" method="get" accept-charset="utf-8">
    <h3 class="section-header">
      <input type="text" name="search" placeholder="Search" id="search-field"
             title="Type to search, Up and Down to navigate, Enter to load">
    </h3>
  </form>

  <ul id="search-results" class="initially-hidden"></ul>
</nav>


  <div id="file-metadata">
    <nav id="file-list-section" class="section">
  <h3 class="section-header">Defined In</h3>
  <ul>
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/transliterate.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/inflections.rb
  </ul>
</nav>

    
  </div>

  <div id="class-metadata">
    
    
    
    <!-- Method Quickref -->
<nav id="method-list-section" class="section">
  <h3 class="section-header">Methods</h3>

  <ul class="link-list">
    
    <li><a href="#method-i-camelize">#camelize</a>
    
    <li><a href="#method-i-classify">#classify</a>
    
    <li><a href="#method-i-constantize">#constantize</a>
    
    <li><a href="#method-i-dasherize">#dasherize</a>
    
    <li><a href="#method-i-deconstantize">#deconstantize</a>
    
    <li><a href="#method-i-demodulize">#demodulize</a>
    
    <li><a href="#method-i-foreign_key">#foreign_key</a>
    
    <li><a href="#method-i-humanize">#humanize</a>
    
    <li><a href="#method-i-inflections">#inflections</a>
    
    <li><a href="#method-i-ordinalize">#ordinalize</a>
    
    <li><a href="#method-i-parameterize">#parameterize</a>
    
    <li><a href="#method-i-pluralize">#pluralize</a>
    
    <li><a href="#method-i-safe_constantize">#safe_constantize</a>
    
    <li><a href="#method-i-singularize">#singularize</a>
    
    <li><a href="#method-i-tableize">#tableize</a>
    
    <li><a href="#method-i-titleize">#titleize</a>
    
    <li><a href="#method-i-transliterate">#transliterate</a>
    
    <li><a href="#method-i-underscore">#underscore</a>
    
  </ul>
</nav>

  </div>

  <div id="project-metadata">
    <nav id="fileindex-section" class="section project-section">
  <h3 class="section-header">Pages</h3>

  <ul>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/actionmailer-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/actionmailer-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/actionpack-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/actionpack-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activemodel-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activemodel-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activerecord-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activeresource-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activesupport-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/railties-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="../README_rdoc.html">README</a>
  
  </ul>
</nav>

    <nav id="classindex-section" class="section project-section">
  <h3 class="section-header">Class and Module Index</h3>

  <ul class="link-list">
  
    <li><a href="../ActiveRecord.html">ActiveRecord</a>
  
    <li><a href="../ActiveRecord/ActiveRecordError.html">ActiveRecord::ActiveRecordError</a>
  
    <li><a href="../ActiveRecord/AdapterNotFound.html">ActiveRecord::AdapterNotFound</a>
  
    <li><a href="../ActiveRecord/AdapterNotSpecified.html">ActiveRecord::AdapterNotSpecified</a>
  
    <li><a href="../ActiveRecord/Aggregations.html">ActiveRecord::Aggregations</a>
  
    <li><a href="../ActiveRecord/Aggregations/ClassMethods.html">ActiveRecord::Aggregations::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AssociationTypeMismatch.html">ActiveRecord::AssociationTypeMismatch</a>
  
    <li><a href="../ActiveRecord/Associations.html">ActiveRecord::Associations</a>
  
    <li><a href="../ActiveRecord/Associations/ClassMethods.html">ActiveRecord::Associations::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeAssignment.html">ActiveRecord::AttributeAssignment</a>
  
    <li><a href="../ActiveRecord/AttributeAssignment/ClassMethods.html">ActiveRecord::AttributeAssignment::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeAssignmentError.html">ActiveRecord::AttributeAssignmentError</a>
  
    <li><a href="../ActiveRecord/AttributeMethods.html">ActiveRecord::AttributeMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/BeforeTypeCast.html">ActiveRecord::AttributeMethods::BeforeTypeCast</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/ClassMethods.html">ActiveRecord::AttributeMethods::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/DeprecatedUnderscoreRead.html">ActiveRecord::AttributeMethods::DeprecatedUnderscoreRead</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/DeprecatedUnderscoreRead/ClassMethods.html">ActiveRecord::AttributeMethods::DeprecatedUnderscoreRead::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Dirty.html">ActiveRecord::AttributeMethods::Dirty</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/PrimaryKey.html">ActiveRecord::AttributeMethods::PrimaryKey</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/PrimaryKey/ClassMethods.html">ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Query.html">ActiveRecord::AttributeMethods::Query</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Read.html">ActiveRecord::AttributeMethods::Read</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Read/ClassMethods.html">ActiveRecord::AttributeMethods::Read::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Serialization.html">ActiveRecord::AttributeMethods::Serialization</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Serialization/Attribute.html">ActiveRecord::AttributeMethods::Serialization::Attribute</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Serialization/ClassMethods.html">ActiveRecord::AttributeMethods::Serialization::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/TimeZoneConversion.html">ActiveRecord::AttributeMethods::TimeZoneConversion</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/TimeZoneConversion/ClassMethods.html">ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Write.html">ActiveRecord::AttributeMethods::Write</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Write/ClassMethods.html">ActiveRecord::AttributeMethods::Write::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AutosaveAssociation.html">ActiveRecord::AutosaveAssociation</a>
  
    <li><a href="../ActiveRecord/AutosaveAssociation/ClassMethods.html">ActiveRecord::AutosaveAssociation::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Base.html">ActiveRecord::Base</a>
  
    <li><a href="../ActiveRecord/Batches.html">ActiveRecord::Batches</a>
  
    <li><a href="../ActiveRecord/Calculations.html">ActiveRecord::Calculations</a>
  
    <li><a href="../ActiveRecord/Callbacks.html">ActiveRecord::Callbacks</a>
  
    <li><a href="../ActiveRecord/ConfigurationError.html">ActiveRecord::ConfigurationError</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/AbstractAdapter.html">ActiveRecord::ConnectionAdapters::AbstractAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/AbstractMysqlAdapter.html">ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/ConnectionHandler.html">ActiveRecord::ConnectionAdapters::ConnectionHandler</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/ConnectionManagement.html">ActiveRecord::ConnectionAdapters::ConnectionManagement</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/ConnectionPool.html">ActiveRecord::ConnectionAdapters::ConnectionPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/DatabaseLimits.html">ActiveRecord::ConnectionAdapters::DatabaseLimits</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/DatabaseStatements.html">ActiveRecord::ConnectionAdapters::DatabaseStatements</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/Mysql2Adapter.html">ActiveRecord::ConnectionAdapters::Mysql2Adapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/MysqlAdapter.html">ActiveRecord::ConnectionAdapters::MysqlAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/MysqlAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::MysqlAdapter::StatementPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLAdapter.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::StatementPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/TableDefinition.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinition</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/Utils.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::Utils</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLColumn.html">ActiveRecord::ConnectionAdapters::PostgreSQLColumn</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/QueryCache.html">ActiveRecord::ConnectionAdapters::QueryCache</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/Quoting.html">ActiveRecord::ConnectionAdapters::Quoting</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SQLiteAdapter.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SQLiteAdapter/ExplainPrettyPrinter.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::ExplainPrettyPrinter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SQLiteAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::StatementPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SQLiteAdapter/Version.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::Version</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SchemaCache.html">ActiveRecord::ConnectionAdapters::SchemaCache</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SchemaStatements.html">ActiveRecord::ConnectionAdapters::SchemaStatements</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/StatementPool.html">ActiveRecord::ConnectionAdapters::StatementPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/Table.html">ActiveRecord::ConnectionAdapters::Table</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/TableDefinition.html">ActiveRecord::ConnectionAdapters::TableDefinition</a>
  
    <li><a href="../ActiveRecord/ConnectionNotEstablished.html">ActiveRecord::ConnectionNotEstablished</a>
  
    <li><a href="../ActiveRecord/ConnectionTimeoutError.html">ActiveRecord::ConnectionTimeoutError</a>
  
    <li><a href="../ActiveRecord/CounterCache.html">ActiveRecord::CounterCache</a>
  
    <li><a href="../ActiveRecord/DangerousAttributeError.html">ActiveRecord::DangerousAttributeError</a>
  
    <li><a href="../ActiveRecord/Delegation.html">ActiveRecord::Delegation</a>
  
    <li><a href="../ActiveRecord/DynamicFinderMatch.html">ActiveRecord::DynamicFinderMatch</a>
  
    <li><a href="../ActiveRecord/DynamicMatchers.html">ActiveRecord::DynamicMatchers</a>
  
    <li><a href="../ActiveRecord/DynamicScopeMatch.html">ActiveRecord::DynamicScopeMatch</a>
  
    <li><a href="../ActiveRecord/Explain.html">ActiveRecord::Explain</a>
  
    <li><a href="../ActiveRecord/FinderMethods.html">ActiveRecord::FinderMethods</a>
  
    <li><a href="../ActiveRecord/Fixtures.html">ActiveRecord::Fixtures</a>
  
    <li><a href="../ActiveRecord/Fixtures/File.html">ActiveRecord::Fixtures::File</a>
  
    <li><a href="../ActiveRecord/IdentityMap.html">ActiveRecord::IdentityMap</a>
  
    <li><a href="../ActiveRecord/IdentityMap/Middleware.html">ActiveRecord::IdentityMap::Middleware</a>
  
    <li><a href="../ActiveRecord/Inheritance.html">ActiveRecord::Inheritance</a>
  
    <li><a href="../ActiveRecord/Inheritance/ClassMethods.html">ActiveRecord::Inheritance::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Integration.html">ActiveRecord::Integration</a>
  
    <li><a href="../ActiveRecord/InvalidForeignKey.html">ActiveRecord::InvalidForeignKey</a>
  
    <li><a href="../ActiveRecord/IrreversibleMigration.html">ActiveRecord::IrreversibleMigration</a>
  
    <li><a href="../ActiveRecord/Locking.html">ActiveRecord::Locking</a>
  
    <li><a href="../ActiveRecord/Locking/Optimistic.html">ActiveRecord::Locking::Optimistic</a>
  
    <li><a href="../ActiveRecord/Locking/Optimistic/ClassMethods.html">ActiveRecord::Locking::Optimistic::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Locking/Pessimistic.html">ActiveRecord::Locking::Pessimistic</a>
  
    <li><a href="../ActiveRecord/LogSubscriber.html">ActiveRecord::LogSubscriber</a>
  
    <li><a href="../ActiveRecord/Migration.html">ActiveRecord::Migration</a>
  
    <li><a href="../ActiveRecord/Migration/CommandRecorder.html">ActiveRecord::Migration::CommandRecorder</a>
  
    <li><a href="../ActiveRecord/MigrationProxy.html">ActiveRecord::MigrationProxy</a>
  
    <li><a href="../ActiveRecord/ModelSchema.html">ActiveRecord::ModelSchema</a>
  
    <li><a href="../ActiveRecord/ModelSchema/ClassMethods.html">ActiveRecord::ModelSchema::ClassMethods</a>
  
    <li><a href="../ActiveRecord/MultiparameterAssignmentErrors.html">ActiveRecord::MultiparameterAssignmentErrors</a>
  
    <li><a href="../ActiveRecord/NestedAttributes.html">ActiveRecord::NestedAttributes</a>
  
    <li><a href="../ActiveRecord/NestedAttributes/ClassMethods.html">ActiveRecord::NestedAttributes::ClassMethods</a>
  
    <li><a href="../ActiveRecord/NestedAttributes/TooManyRecords.html">ActiveRecord::NestedAttributes::TooManyRecords</a>
  
    <li><a href="../ActiveRecord/Observer.html">ActiveRecord::Observer</a>
  
    <li><a href="../ActiveRecord/Persistence.html">ActiveRecord::Persistence</a>
  
    <li><a href="../ActiveRecord/Persistence/ClassMethods.html">ActiveRecord::Persistence::ClassMethods</a>
  
    <li><a href="../ActiveRecord/PreparedStatementInvalid.html">ActiveRecord::PreparedStatementInvalid</a>
  
    <li><a href="../ActiveRecord/QueryCache.html">ActiveRecord::QueryCache</a>
  
    <li><a href="../ActiveRecord/QueryCache/ClassMethods.html">ActiveRecord::QueryCache::ClassMethods</a>
  
    <li><a href="../ActiveRecord/QueryMethods.html">ActiveRecord::QueryMethods</a>
  
    <li><a href="../ActiveRecord/Querying.html">ActiveRecord::Querying</a>
  
    <li><a href="../ActiveRecord/Railtie.html">ActiveRecord::Railtie</a>
  
    <li><a href="../ActiveRecord/Railties.html">ActiveRecord::Railties</a>
  
    <li><a href="../ActiveRecord/Railties/ControllerRuntime.html">ActiveRecord::Railties::ControllerRuntime</a>
  
    <li><a href="../ActiveRecord/Railties/ControllerRuntime/ClassMethods.html">ActiveRecord::Railties::ControllerRuntime::ClassMethods</a>
  
    <li><a href="../ActiveRecord/ReadOnlyRecord.html">ActiveRecord::ReadOnlyRecord</a>
  
    <li><a href="../ActiveRecord/ReadonlyAttributes.html">ActiveRecord::ReadonlyAttributes</a>
  
    <li><a href="../ActiveRecord/ReadonlyAttributes/ClassMethods.html">ActiveRecord::ReadonlyAttributes::ClassMethods</a>
  
    <li><a href="../ActiveRecord/RecordInvalid.html">ActiveRecord::RecordInvalid</a>
  
    <li><a href="../ActiveRecord/RecordNotFound.html">ActiveRecord::RecordNotFound</a>
  
    <li><a href="../ActiveRecord/RecordNotSaved.html">ActiveRecord::RecordNotSaved</a>
  
    <li><a href="../ActiveRecord/RecordNotUnique.html">ActiveRecord::RecordNotUnique</a>
  
    <li><a href="../ActiveRecord/Reflection.html">ActiveRecord::Reflection</a>
  
    <li><a href="../ActiveRecord/Reflection/ClassMethods.html">ActiveRecord::Reflection::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Reflection/MacroReflection.html">ActiveRecord::Reflection::MacroReflection</a>
  
    <li><a href="../ActiveRecord/Relation.html">ActiveRecord::Relation</a>
  
    <li><a href="../ActiveRecord/Result.html">ActiveRecord::Result</a>
  
    <li><a href="../ActiveRecord/Rollback.html">ActiveRecord::Rollback</a>
  
    <li><a href="../ActiveRecord/Sanitization.html">ActiveRecord::Sanitization</a>
  
    <li><a href="../ActiveRecord/Sanitization/ClassMethods.html">ActiveRecord::Sanitization::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Schema.html">ActiveRecord::Schema</a>
  
    <li><a href="../ActiveRecord/Scoping.html">ActiveRecord::Scoping</a>
  
    <li><a href="../ActiveRecord/Scoping/ClassMethods.html">ActiveRecord::Scoping::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Scoping/Default.html">ActiveRecord::Scoping::Default</a>
  
    <li><a href="../ActiveRecord/Scoping/Default/ClassMethods.html">ActiveRecord::Scoping::Default::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Scoping/Named.html">ActiveRecord::Scoping::Named</a>
  
    <li><a href="../ActiveRecord/Scoping/Named/ClassMethods.html">ActiveRecord::Scoping::Named::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Serialization.html">ActiveRecord::Serialization</a>
  
    <li><a href="../ActiveRecord/SerializationTypeMismatch.html">ActiveRecord::SerializationTypeMismatch</a>
  
    <li><a href="../ActiveRecord/SessionStore.html">ActiveRecord::SessionStore</a>
  
    <li><a href="../ActiveRecord/SessionStore/Session.html">ActiveRecord::SessionStore::Session</a>
  
    <li><a href="../ActiveRecord/SessionStore/SqlBypass.html">ActiveRecord::SessionStore::SqlBypass</a>
  
    <li><a href="../ActiveRecord/SpawnMethods.html">ActiveRecord::SpawnMethods</a>
  
    <li><a href="../ActiveRecord/StaleObjectError.html">ActiveRecord::StaleObjectError</a>
  
    <li><a href="../ActiveRecord/StatementInvalid.html">ActiveRecord::StatementInvalid</a>
  
    <li><a href="../ActiveRecord/Store.html">ActiveRecord::Store</a>
  
    <li><a href="../ActiveRecord/Store/ClassMethods.html">ActiveRecord::Store::ClassMethods</a>
  
    <li><a href="../ActiveRecord/TestFixtures.html">ActiveRecord::TestFixtures</a>
  
    <li><a href="../ActiveRecord/TestFixtures/ClassMethods.html">ActiveRecord::TestFixtures::ClassMethods</a>
  
    <li><a href="../ActiveRecord/ThrowResult.html">ActiveRecord::ThrowResult</a>
  
    <li><a href="../ActiveRecord/Timestamp.html">ActiveRecord::Timestamp</a>
  
    <li><a href="../ActiveRecord/Transactions.html">ActiveRecord::Transactions</a>
  
    <li><a href="../ActiveRecord/Transactions/ClassMethods.html">ActiveRecord::Transactions::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Translation.html">ActiveRecord::Translation</a>
  
    <li><a href="../ActiveRecord/UnknownAttributeError.html">ActiveRecord::UnknownAttributeError</a>
  
    <li><a href="../ActiveRecord/UnknownPrimaryKey.html">ActiveRecord::UnknownPrimaryKey</a>
  
    <li><a href="../ActiveRecord/Validations.html">ActiveRecord::Validations</a>
  
    <li><a href="../ActiveRecord/Validations/AssociatedValidator.html">ActiveRecord::Validations::AssociatedValidator</a>
  
    <li><a href="../ActiveRecord/Validations/ClassMethods.html">ActiveRecord::Validations::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Validations/UniquenessValidator.html">ActiveRecord::Validations::UniquenessValidator</a>
  
    <li><a href="../ActiveRecord/WrappedDatabaseException.html">ActiveRecord::WrappedDatabaseException</a>
  
    <li><a href="../ActiveSupport.html">ActiveSupport</a>
  
    <li><a href="../ActiveSupport/Autoload.html">ActiveSupport::Autoload</a>
  
    <li><a href="../ActiveSupport/BacktraceCleaner.html">ActiveSupport::BacktraceCleaner</a>
  
    <li><a href="../ActiveSupport/Base64.html">ActiveSupport::Base64</a>
  
    <li><a href="../ActiveSupport/BasicObject.html">ActiveSupport::BasicObject</a>
  
    <li><a href="../ActiveSupport/Benchmarkable.html">ActiveSupport::Benchmarkable</a>
  
    <li><a href="../ActiveSupport/BufferedLogger.html">ActiveSupport::BufferedLogger</a>
  
    <li><a href="../ActiveSupport/BufferedLogger/Severity.html">ActiveSupport::BufferedLogger::Severity</a>
  
    <li><a href="../ActiveSupport/Cache.html">ActiveSupport::Cache</a>
  
    <li><a href="../ActiveSupport/Cache/Entry.html">ActiveSupport::Cache::Entry</a>
  
    <li><a href="../ActiveSupport/Cache/FileStore.html">ActiveSupport::Cache::FileStore</a>
  
    <li><a href="../ActiveSupport/Cache/MemCacheStore.html">ActiveSupport::Cache::MemCacheStore</a>
  
    <li><a href="../ActiveSupport/Cache/MemoryStore.html">ActiveSupport::Cache::MemoryStore</a>
  
    <li><a href="../ActiveSupport/Cache/NullStore.html">ActiveSupport::Cache::NullStore</a>
  
    <li><a href="../ActiveSupport/Cache/Store.html">ActiveSupport::Cache::Store</a>
  
    <li><a href="../ActiveSupport/Cache/Strategy.html">ActiveSupport::Cache::Strategy</a>
  
    <li><a href="../ActiveSupport/Cache/Strategy/LocalCache.html">ActiveSupport::Cache::Strategy::LocalCache</a>
  
    <li><a href="../ActiveSupport/Cache/Strategy/LocalCache/LocalStore.html">ActiveSupport::Cache::Strategy::LocalCache::LocalStore</a>
  
    <li><a href="../ActiveSupport/Callbacks.html">ActiveSupport::Callbacks</a>
  
    <li><a href="../ActiveSupport/Callbacks/ClassMethods.html">ActiveSupport::Callbacks::ClassMethods</a>
  
    <li><a href="../ActiveSupport/Concern.html">ActiveSupport::Concern</a>
  
    <li><a href="../ActiveSupport/Configurable.html">ActiveSupport::Configurable</a>
  
    <li><a href="../ActiveSupport/Configurable/ClassMethods.html">ActiveSupport::Configurable::ClassMethods</a>
  
    <li><a href="../ActiveSupport/Configurable/Configuration.html">ActiveSupport::Configurable::Configuration</a>
  
    <li><a href="../ActiveSupport/Dependencies.html">ActiveSupport::Dependencies</a>
  
    <li><a href="../ActiveSupport/Dependencies/ClassCache.html">ActiveSupport::Dependencies::ClassCache</a>
  
    <li><a href="../ActiveSupport/Dependencies/WatchStack.html">ActiveSupport::Dependencies::WatchStack</a>
  
    <li><a href="../ActiveSupport/Deprecation.html">ActiveSupport::Deprecation</a>
  
    <li><a href="../ActiveSupport/DescendantsTracker.html">ActiveSupport::DescendantsTracker</a>
  
    <li><a href="../ActiveSupport/Duration.html">ActiveSupport::Duration</a>
  
    <li><a href="../ActiveSupport/FileUpdateChecker.html">ActiveSupport::FileUpdateChecker</a>
  
    <li><a href="../ActiveSupport/FileWatcher.html">ActiveSupport::FileWatcher</a>
  
    <li><a href="../ActiveSupport/FileWatcher/Backend.html">ActiveSupport::FileWatcher::Backend</a>
  
    <li><a href="../ActiveSupport/Gzip.html">ActiveSupport::Gzip</a>
  
    <li><a href="../ActiveSupport/Gzip/Stream.html">ActiveSupport::Gzip::Stream</a>
  
    <li><a href="../ActiveSupport/HashWithIndifferentAccess.html">ActiveSupport::HashWithIndifferentAccess</a>
  
    <li><a href="../ActiveSupport/HashWithIndifferentAccess.html">ActiveSupport::HashWithIndifferentAccess</a>
  
    <li><a href="../ActiveSupport/Inflector.html">ActiveSupport::Inflector</a>
  
    <li><a href="../ActiveSupport/Inflector/Inflections.html">ActiveSupport::Inflector::Inflections</a>
  
    <li><a href="../ActiveSupport/InheritableOptions.html">ActiveSupport::InheritableOptions</a>
  
    <li><a href="../ActiveSupport/JSON.html">ActiveSupport::JSON</a>
  
    <li><a href="../ActiveSupport/JSON/Encoding.html">ActiveSupport::JSON::Encoding</a>
  
    <li><a href="../ActiveSupport/JSON/Encoding/CircularReferenceError.html">ActiveSupport::JSON::Encoding::CircularReferenceError</a>
  
    <li><a href="../ActiveSupport/JSON/Encoding/Encoder.html">ActiveSupport::JSON::Encoding::Encoder</a>
  
    <li><a href="../ActiveSupport/JSON/Variable.html">ActiveSupport::JSON::Variable</a>
  
    <li><a href="../ActiveSupport/LogSubscriber.html">ActiveSupport::LogSubscriber</a>
  
    <li><a href="../ActiveSupport/LogSubscriber/TestHelper.html">ActiveSupport::LogSubscriber::TestHelper</a>
  
    <li><a href="../ActiveSupport/LogSubscriber/TestHelper/MockLogger.html">ActiveSupport::LogSubscriber::TestHelper::MockLogger</a>
  
    <li><a href="../ActiveSupport/Memoizable.html">ActiveSupport::Memoizable</a>
  
    <li><a href="../ActiveSupport/Memoizable/InstanceMethods.html">ActiveSupport::Memoizable::InstanceMethods</a>
  
    <li><a href="../ActiveSupport/MessageEncryptor.html">ActiveSupport::MessageEncryptor</a>
  
    <li><a href="../ActiveSupport/MessageEncryptor/InvalidMessage.html">ActiveSupport::MessageEncryptor::InvalidMessage</a>
  
    <li><a href="../ActiveSupport/MessageVerifier.html">ActiveSupport::MessageVerifier</a>
  
    <li><a href="../ActiveSupport/MessageVerifier/InvalidSignature.html">ActiveSupport::MessageVerifier::InvalidSignature</a>
  
    <li><a href="../ActiveSupport/Multibyte.html">ActiveSupport::Multibyte</a>
  
    <li><a href="../ActiveSupport/Multibyte/Chars.html">ActiveSupport::Multibyte::Chars</a>
  
    <li><a href="../ActiveSupport/Multibyte/EncodingError.html">ActiveSupport::Multibyte::EncodingError</a>
  
    <li><a href="../ActiveSupport/Multibyte/Unicode.html">ActiveSupport::Multibyte::Unicode</a>
  
    <li><a href="../ActiveSupport/Multibyte/Unicode/Codepoint.html">ActiveSupport::Multibyte::Unicode::Codepoint</a>
  
    <li><a href="../ActiveSupport/Multibyte/Unicode/UnicodeDatabase.html">ActiveSupport::Multibyte::Unicode::UnicodeDatabase</a>
  
    <li><a href="../ActiveSupport/Notifications.html">ActiveSupport::Notifications</a>
  
    <li><a href="../ActiveSupport/Notifications/Event.html">ActiveSupport::Notifications::Event</a>
  
    <li><a href="../ActiveSupport/Notifications/Fanout.html">ActiveSupport::Notifications::Fanout</a>
  
    <li><a href="../ActiveSupport/Notifications/Instrumenter.html">ActiveSupport::Notifications::Instrumenter</a>
  
    <li><a href="../ActiveSupport/OrderedHash.html">ActiveSupport::OrderedHash</a>
  
    <li><a href="../ActiveSupport/OrderedOptions.html">ActiveSupport::OrderedOptions</a>
  
    <li><a href="../ActiveSupport/Railtie.html">ActiveSupport::Railtie</a>
  
    <li><a href="../ActiveSupport/Rescuable.html">ActiveSupport::Rescuable</a>
  
    <li><a href="../ActiveSupport/Rescuable/ClassMethods.html">ActiveSupport::Rescuable::ClassMethods</a>
  
    <li><a href="../ActiveSupport/SafeBuffer.html">ActiveSupport::SafeBuffer</a>
  
    <li><a href="../ActiveSupport/SafeBuffer/SafeConcatError.html">ActiveSupport::SafeBuffer::SafeConcatError</a>
  
    <li><a href="../ActiveSupport/StringInquirer.html">ActiveSupport::StringInquirer</a>
  
    <li><a href="../ActiveSupport/TaggedLogging.html">ActiveSupport::TaggedLogging</a>
  
    <li><a href="../ActiveSupport/TestCase.html">ActiveSupport::TestCase</a>
  
    <li><a href="../ActiveSupport/Testing.html">ActiveSupport::Testing</a>
  
    <li><a href="../ActiveSupport/Testing/Assertions.html">ActiveSupport::Testing::Assertions</a>
  
    <li><a href="../ActiveSupport/Testing/Declarative.html">ActiveSupport::Testing::Declarative</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation.html">ActiveSupport::Testing::Isolation</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation/Forking.html">ActiveSupport::Testing::Isolation::Forking</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation/MiniTest.html">ActiveSupport::Testing::Isolation::MiniTest</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation/Subprocess.html">ActiveSupport::Testing::Isolation::Subprocess</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation/TestUnit.html">ActiveSupport::Testing::Isolation::TestUnit</a>
  
    <li><a href="../ActiveSupport/Testing/Pending.html">ActiveSupport::Testing::Pending</a>
  
    <li><a href="../ActiveSupport/Testing/Performance.html">ActiveSupport::Testing::Performance</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Benchmarker.html">ActiveSupport::Testing::Performance::Benchmarker</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/ForClassicTestUnit.html">ActiveSupport::Testing::Performance::ForClassicTestUnit</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/ForMiniTest.html">ActiveSupport::Testing::Performance::ForMiniTest</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics.html">ActiveSupport::Testing::Performance::Metrics</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Amount.html">ActiveSupport::Testing::Performance::Metrics::Amount</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Base.html">ActiveSupport::Testing::Performance::Metrics::Base</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/CpuTime.html">ActiveSupport::Testing::Performance::Metrics::CpuTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/DigitalInformationUnit.html">ActiveSupport::Testing::Performance::Metrics::DigitalInformationUnit</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/GcRuns.html">ActiveSupport::Testing::Performance::Metrics::GcRuns</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/GcTime.html">ActiveSupport::Testing::Performance::Metrics::GcTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Memory.html">ActiveSupport::Testing::Performance::Metrics::Memory</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Objects.html">ActiveSupport::Testing::Performance::Metrics::Objects</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/ProcessTime.html">ActiveSupport::Testing::Performance::Metrics::ProcessTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Time.html">ActiveSupport::Testing::Performance::Metrics::Time</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/UserTime.html">ActiveSupport::Testing::Performance::Metrics::UserTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/WallTime.html">ActiveSupport::Testing::Performance::Metrics::WallTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Performer.html">ActiveSupport::Testing::Performance::Performer</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Profiler.html">ActiveSupport::Testing::Performance::Profiler</a>
  
    <li><a href="../ActiveSupport/Testing/ProxyTestResult.html">ActiveSupport::Testing::ProxyTestResult</a>
  
    <li><a href="../ActiveSupport/Testing/RemoteError.html">ActiveSupport::Testing::RemoteError</a>
  
    <li><a href="../ActiveSupport/Testing/SetupAndTeardown.html">ActiveSupport::Testing::SetupAndTeardown</a>
  
    <li><a href="../ActiveSupport/Testing/SetupAndTeardown/ClassMethods.html">ActiveSupport::Testing::SetupAndTeardown::ClassMethods</a>
  
    <li><a href="../ActiveSupport/Testing/SetupAndTeardown/ForClassicTestUnit.html">ActiveSupport::Testing::SetupAndTeardown::ForClassicTestUnit</a>
  
    <li><a href="../ActiveSupport/Testing/SetupAndTeardown/ForMiniTest.html">ActiveSupport::Testing::SetupAndTeardown::ForMiniTest</a>
  
    <li><a href="../ActiveSupport/TimeWithZone.html">ActiveSupport::TimeWithZone</a>
  
    <li><a href="../ActiveSupport/TimeZone.html">ActiveSupport::TimeZone</a>
  
    <li><a href="../ActiveSupport/XmlMini.html">ActiveSupport::XmlMini</a>
  
    <li><a href="../ActiveSupport/XmlMini_LibXMLSAX.html">ActiveSupport::XmlMini_LibXMLSAX</a>
  
    <li><a href="../ActiveSupport/XmlMini_LibXMLSAX/HashBuilder.html">ActiveSupport::XmlMini_LibXMLSAX::HashBuilder</a>
  
    <li><a href="../ActiveSupport/XmlMini_NokogiriSAX.html">ActiveSupport::XmlMini_NokogiriSAX</a>
  
    <li><a href="../ActiveSupport/XmlMini_NokogiriSAX/HashBuilder.html">ActiveSupport::XmlMini_NokogiriSAX::HashBuilder</a>
  
    <li><a href="../ActionController.html">ActionController</a>
  
    <li><a href="../ActionController/Base.html">ActionController::Base</a>
  
    <li><a href="../ActionController/Caching.html">ActionController::Caching</a>
  
    <li><a href="../ActionController/Caching/Actions.html">ActionController::Caching::Actions</a>
  
    <li><a href="../ActionController/Caching/Actions/ActionCachePath.html">ActionController::Caching::Actions::ActionCachePath</a>
  
    <li><a href="../ActionController/Caching/Actions/ClassMethods.html">ActionController::Caching::Actions::ClassMethods</a>
  
    <li><a href="../ActionController/Caching/ConfigMethods.html">ActionController::Caching::ConfigMethods</a>
  
    <li><a href="../ActionController/Caching/Fragments.html">ActionController::Caching::Fragments</a>
  
    <li><a href="../ActionController/Caching/Pages.html">ActionController::Caching::Pages</a>
  
    <li><a href="../ActionController/Caching/Pages/ClassMethods.html">ActionController::Caching::Pages::ClassMethods</a>
  
    <li><a href="../ActionController/Caching/Sweeping.html">ActionController::Caching::Sweeping</a>
  
    <li><a href="../ActionController/Compatibility.html">ActionController::Compatibility</a>
  
    <li><a href="../ActionController/ConditionalGet.html">ActionController::ConditionalGet</a>
  
    <li><a href="../ActionController/Cookies.html">ActionController::Cookies</a>
  
    <li><a href="../ActionController/DataStreaming.html">ActionController::DataStreaming</a>
  
    <li><a href="../ActionController/Flash.html">ActionController::Flash</a>
  
    <li><a href="../ActionController/ForceSSL.html">ActionController::ForceSSL</a>
  
    <li><a href="../ActionController/ForceSSL/ClassMethods.html">ActionController::ForceSSL::ClassMethods</a>
  
    <li><a href="../ActionController/Head.html">ActionController::Head</a>
  
    <li><a href="../ActionController/Helpers.html">ActionController::Helpers</a>
  
    <li><a href="../ActionController/Helpers/ClassMethods.html">ActionController::Helpers::ClassMethods</a>
  
    <li><a href="../ActionController/HideActions.html">ActionController::HideActions</a>
  
    <li><a href="../ActionController/HideActions/ClassMethods.html">ActionController::HideActions::ClassMethods</a>
  
    <li><a href="../ActionController/HttpAuthentication.html">ActionController::HttpAuthentication</a>
  
    <li><a href="../ActionController/HttpAuthentication/Basic.html">ActionController::HttpAuthentication::Basic</a>
  
    <li><a href="../ActionController/HttpAuthentication/Basic/ControllerMethods.html">ActionController::HttpAuthentication::Basic::ControllerMethods</a>
  
    <li><a href="../ActionController/HttpAuthentication/Basic/ControllerMethods/ClassMethods.html">ActionController::HttpAuthentication::Basic::ControllerMethods::ClassMethods</a>
  
    <li><a href="../ActionController/HttpAuthentication/Digest.html">ActionController::HttpAuthentication::Digest</a>
  
    <li><a href="../ActionController/HttpAuthentication/Digest/ControllerMethods.html">ActionController::HttpAuthentication::Digest::ControllerMethods</a>
  
    <li><a href="../ActionController/HttpAuthentication/Token.html">ActionController::HttpAuthentication::Token</a>
  
    <li><a href="../ActionController/HttpAuthentication/Token/ControllerMethods.html">ActionController::HttpAuthentication::Token::ControllerMethods</a>
  
    <li><a href="../ActionController/ImplicitRender.html">ActionController::ImplicitRender</a>
  
    <li><a href="../ActionController/Instrumentation.html">ActionController::Instrumentation</a>
  
    <li><a href="../ActionController/Instrumentation/ClassMethods.html">ActionController::Instrumentation::ClassMethods</a>
  
    <li><a href="../ActionController/LogSubscriber.html">ActionController::LogSubscriber</a>
  
    <li><a href="../ActionController/Metal.html">ActionController::Metal</a>
  
    <li><a href="../ActionController/Middleware.html">ActionController::Middleware</a>
  
    <li><a href="../ActionController/Middleware/ActionMiddleware.html">ActionController::Middleware::ActionMiddleware</a>
  
    <li><a href="../ActionController/MimeResponds.html">ActionController::MimeResponds</a>
  
    <li><a href="../ActionController/MimeResponds/ClassMethods.html">ActionController::MimeResponds::ClassMethods</a>
  
    <li><a href="../ActionController/ParamsWrapper.html">ActionController::ParamsWrapper</a>
  
    <li><a href="../ActionController/ParamsWrapper/ClassMethods.html">ActionController::ParamsWrapper::ClassMethods</a>
  
    <li><a href="../ActionController/RackDelegation.html">ActionController::RackDelegation</a>
  
    <li><a href="../ActionController/Railtie.html">ActionController::Railtie</a>
  
    <li><a href="../ActionController/Railties.html">ActionController::Railties</a>
  
    <li><a href="../ActionController/Railties/Paths.html">ActionController::Railties::Paths</a>
  
    <li><a href="../ActionController/RecordIdentifier.html">ActionController::RecordIdentifier</a>
  
    <li><a href="../ActionController/Redirecting.html">ActionController::Redirecting</a>
  
    <li><a href="../ActionController/Renderers.html">ActionController::Renderers</a>
  
    <li><a href="../ActionController/Renderers/All.html">ActionController::Renderers::All</a>
  
    <li><a href="../ActionController/Renderers/ClassMethods.html">ActionController::Renderers::ClassMethods</a>
  
    <li><a href="../ActionController/Rendering.html">ActionController::Rendering</a>
  
    <li><a href="../ActionController/RequestForgeryProtection.html">ActionController::RequestForgeryProtection</a>
  
    <li><a href="../ActionController/RequestForgeryProtection/ClassMethods.html">ActionController::RequestForgeryProtection::ClassMethods</a>
  
    <li><a href="../ActionController/Rescue.html">ActionController::Rescue</a>
  
    <li><a href="../ActionController/Responder.html">ActionController::Responder</a>
  
    <li><a href="../ActionController/SessionManagement.html">ActionController::SessionManagement</a>
  
    <li><a href="../ActionController/SessionManagement/ClassMethods.html">ActionController::SessionManagement::ClassMethods</a>
  
    <li><a href="../ActionController/Streaming.html">ActionController::Streaming</a>
  
    <li><a href="../ActionController/TemplateAssertions.html">ActionController::TemplateAssertions</a>
  
    <li><a href="../ActionController/TestCase.html">ActionController::TestCase</a>
  
    <li><a href="../ActionController/TestCase/Behavior.html">ActionController::TestCase::Behavior</a>
  
    <li><a href="../ActionController/TestCase/Behavior/ClassMethods.html">ActionController::TestCase::Behavior::ClassMethods</a>
  
    <li><a href="../ActionController/TestCase/RaiseActionExceptions.html">ActionController::TestCase::RaiseActionExceptions</a>
  
    <li><a href="../ActionController/TestResponse.html">ActionController::TestResponse</a>
  
    <li><a href="../ActionController/Testing.html">ActionController::Testing</a>
  
    <li><a href="../ActionController/Testing/ClassMethods.html">ActionController::Testing::ClassMethods</a>
  
    <li><a href="../ActionController/UrlFor.html">ActionController::UrlFor</a>
  
    <li><a href="../ActionView.html">ActionView</a>
  
    <li><a href="../ActionView/ActionView.html">ActionView::ActionView</a>
  
    <li><a href="../ActionView/ActionView/ActionView.html">ActionView::ActionView::ActionView</a>
  
    <li><a href="../ActionView/ActionView/ActionView/Base.html">ActionView::ActionView::ActionView::Base</a>
  
    <li><a href="../ActionView/Base.html">ActionView::Base</a>
  
    <li><a href="../ActionView/Context.html">ActionView::Context</a>
  
    <li><a href="../ActionView/FileSystemResolver.html">ActionView::FileSystemResolver</a>
  
    <li><a href="../ActionView/FixtureResolver.html">ActionView::FixtureResolver</a>
  
    <li><a href="../ActionView/Helpers.html">ActionView::Helpers</a>
  
    <li><a href="../ActionView/Helpers/ActiveModelHelper.html">ActionView::Helpers::ActiveModelHelper</a>
  
    <li><a href="../ActionView/Helpers/ActiveModelInstanceTag.html">ActionView::Helpers::ActiveModelInstanceTag</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper.html">ActionView::Helpers::AssetTagHelper</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/AssetIncludeTag.html">ActionView::Helpers::AssetTagHelper::AssetIncludeTag</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/JavascriptIncludeTag.html">ActionView::Helpers::AssetTagHelper::JavascriptIncludeTag</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/JavascriptTagHelpers.html">ActionView::Helpers::AssetTagHelper::JavascriptTagHelpers</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/JavascriptTagHelpers/ClassMethods.html">ActionView::Helpers::AssetTagHelper::JavascriptTagHelpers::ClassMethods</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/StylesheetIncludeTag.html">ActionView::Helpers::AssetTagHelper::StylesheetIncludeTag</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/StylesheetTagHelpers.html">ActionView::Helpers::AssetTagHelper::StylesheetTagHelpers</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/StylesheetTagHelpers/ClassMethods.html">ActionView::Helpers::AssetTagHelper::StylesheetTagHelpers::ClassMethods</a>
  
    <li><a href="../ActionView/Helpers/AtomFeedHelper.html">ActionView::Helpers::AtomFeedHelper</a>
  
    <li><a href="../ActionView/Helpers/AtomFeedHelper/AtomBuilder.html">ActionView::Helpers::AtomFeedHelper::AtomBuilder</a>
  
    <li><a href="../ActionView/Helpers/AtomFeedHelper/AtomFeedBuilder.html">ActionView::Helpers::AtomFeedHelper::AtomFeedBuilder</a>
  
    <li><a href="../ActionView/Helpers/CacheHelper.html">ActionView::Helpers::CacheHelper</a>
  
    <li><a href="../ActionView/Helpers/CaptureHelper.html">ActionView::Helpers::CaptureHelper</a>
  
    <li><a href="../ActionView/Helpers/CsrfHelper.html">ActionView::Helpers::CsrfHelper</a>
  
    <li><a href="../ActionView/Helpers/DateHelper.html">ActionView::Helpers::DateHelper</a>
  
    <li><a href="../ActionView/Helpers/DateHelperInstanceTag.html">ActionView::Helpers::DateHelperInstanceTag</a>
  
    <li><a href="../ActionView/Helpers/DebugHelper.html">ActionView::Helpers::DebugHelper</a>
  
    <li><a href="../ActionView/Helpers/FormBuilder.html">ActionView::Helpers::FormBuilder</a>
  
    <li><a href="../ActionView/Helpers/FormHelper.html">ActionView::Helpers::FormHelper</a>
  
    <li><a href="../ActionView/Helpers/FormOptionsHelper.html">ActionView::Helpers::FormOptionsHelper</a>
  
    <li><a href="../ActionView/Helpers/FormTagHelper.html">ActionView::Helpers::FormTagHelper</a>
  
    <li><a href="../ActionView/Helpers/InstanceTag.html">ActionView::Helpers::InstanceTag</a>
  
    <li><a href="../ActionView/Helpers/JavaScriptHelper.html">ActionView::Helpers::JavaScriptHelper</a>
  
    <li><a href="../ActionView/Helpers/NumberHelper.html">ActionView::Helpers::NumberHelper</a>
  
    <li><a href="../ActionView/Helpers/NumberHelper/InvalidNumberError.html">ActionView::Helpers::NumberHelper::InvalidNumberError</a>
  
    <li><a href="../ActionView/Helpers/OutputSafetyHelper.html">ActionView::Helpers::OutputSafetyHelper</a>
  
    <li><a href="../ActionView/Helpers/RecordTagHelper.html">ActionView::Helpers::RecordTagHelper</a>
  
    <li><a href="../ActionView/Helpers/RenderingHelper.html">ActionView::Helpers::RenderingHelper</a>
  
    <li><a href="../ActionView/Helpers/SanitizeHelper.html">ActionView::Helpers::SanitizeHelper</a>
  
    <li><a href="../ActionView/Helpers/TagHelper.html">ActionView::Helpers::TagHelper</a>
  
    <li><a href="../ActionView/Helpers/TextHelper.html">ActionView::Helpers::TextHelper</a>
  
    <li><a href="../ActionView/Helpers/TranslationHelper.html">ActionView::Helpers::TranslationHelper</a>
  
    <li><a href="../ActionView/Helpers/UrlHelper.html">ActionView::Helpers::UrlHelper</a>
  
    <li><a href="../ActionView/LogSubscriber.html">ActionView::LogSubscriber</a>
  
    <li><a href="../ActionView/LookupContext.html">ActionView::LookupContext</a>
  
    <li><a href="../ActionView/LookupContext/DetailsCache.html">ActionView::LookupContext::DetailsCache</a>
  
    <li><a href="../ActionView/LookupContext/ViewPaths.html">ActionView::LookupContext::ViewPaths</a>
  
    <li><a href="../ActionView/NullResolver.html">ActionView::NullResolver</a>
  
    <li><a href="../ActionView/PartialRenderer.html">ActionView::PartialRenderer</a>
  
    <li><a href="../ActionView/Railtie.html">ActionView::Railtie</a>
  
    <li><a href="../ActionView/Renderer.html">ActionView::Renderer</a>
  
    <li><a href="../ActionView/Resolver.html">ActionView::Resolver</a>
  
    <li><a href="../ActionView/Resolver/Path.html">ActionView::Resolver::Path</a>
  
    <li><a href="../ActionView/Template.html">ActionView::Template</a>
  
    <li><a href="../ActionView/Template/Handlers.html">ActionView::Template::Handlers</a>
  
    <li><a href="../ActionView/Template/Handlers/Builder.html">ActionView::Template::Handlers::Builder</a>
  
    <li><a href="../ActionView/Template/Handlers/ERB.html">ActionView::Template::Handlers::ERB</a>
  
    <li><a href="../ActionView/Template/Handlers/Erubis.html">ActionView::Template::Handlers::Erubis</a>
  
    <li><a href="../ActionView/TestCase.html">ActionView::TestCase</a>
  
    <li><a href="../ActionView/TestCase/Behavior.html">ActionView::TestCase::Behavior</a>
  
    <li><a href="../ActionView/TestCase/Behavior/ClassMethods.html">ActionView::TestCase::Behavior::ClassMethods</a>
  
    <li><a href="../ActionView/TestCase/Behavior/Locals.html">ActionView::TestCase::Behavior::Locals</a>
  
    <li><a href="../ActionView/TestCase/TestController.html">ActionView::TestCase::TestController</a>
  
    <li><a href="../ActiveModel.html">ActiveModel</a>
  
    <li><a href="../ActiveModel/AttributeMethods.html">ActiveModel::AttributeMethods</a>
  
    <li><a href="../ActiveModel/AttributeMethods/ClassMethods.html">ActiveModel::AttributeMethods::ClassMethods</a>
  
    <li><a href="../ActiveModel/AttributeMethods/ClassMethods/AttributeMethodMatcher.html">ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher</a>
  
    <li><a href="../ActiveModel/BlockValidator.html">ActiveModel::BlockValidator</a>
  
    <li><a href="../ActiveModel/Callbacks.html">ActiveModel::Callbacks</a>
  
    <li><a href="../ActiveModel/Conversion.html">ActiveModel::Conversion</a>
  
    <li><a href="../ActiveModel/Dirty.html">ActiveModel::Dirty</a>
  
    <li><a href="../ActiveModel/EachValidator.html">ActiveModel::EachValidator</a>
  
    <li><a href="../ActiveModel/Errors.html">ActiveModel::Errors</a>
  
    <li><a href="../ActiveModel/Lint.html">ActiveModel::Lint</a>
  
    <li><a href="../ActiveModel/Lint/Tests.html">ActiveModel::Lint::Tests</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity.html">ActiveModel::MassAssignmentSecurity</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/BlackList.html">ActiveModel::MassAssignmentSecurity::BlackList</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/ClassMethods.html">ActiveModel::MassAssignmentSecurity::ClassMethods</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/Error.html">ActiveModel::MassAssignmentSecurity::Error</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/LoggerSanitizer.html">ActiveModel::MassAssignmentSecurity::LoggerSanitizer</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/PermissionSet.html">ActiveModel::MassAssignmentSecurity::PermissionSet</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/Sanitizer.html">ActiveModel::MassAssignmentSecurity::Sanitizer</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/StrictSanitizer.html">ActiveModel::MassAssignmentSecurity::StrictSanitizer</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/WhiteList.html">ActiveModel::MassAssignmentSecurity::WhiteList</a>
  
    <li><a href="../ActiveModel/MissingAttributeError.html">ActiveModel::MissingAttributeError</a>
  
    <li><a href="../ActiveModel/Name.html">ActiveModel::Name</a>
  
    <li><a href="../ActiveModel/Naming.html">ActiveModel::Naming</a>
  
    <li><a href="../ActiveModel/Observer.html">ActiveModel::Observer</a>
  
    <li><a href="../ActiveModel/ObserverArray.html">ActiveModel::ObserverArray</a>
  
    <li><a href="../ActiveModel/Observing.html">ActiveModel::Observing</a>
  
    <li><a href="../ActiveModel/Observing/ClassMethods.html">ActiveModel::Observing::ClassMethods</a>
  
    <li><a href="../ActiveModel/SecurePassword.html">ActiveModel::SecurePassword</a>
  
    <li><a href="../ActiveModel/SecurePassword/ClassMethods.html">ActiveModel::SecurePassword::ClassMethods</a>
  
    <li><a href="../ActiveModel/SecurePassword/InstanceMethodsOnActivation.html">ActiveModel::SecurePassword::InstanceMethodsOnActivation</a>
  
    <li><a href="../ActiveModel/Serialization.html">ActiveModel::Serialization</a>
  
    <li><a href="../ActiveModel/Serializers.html">ActiveModel::Serializers</a>
  
    <li><a href="../ActiveModel/Serializers/JSON.html">ActiveModel::Serializers::JSON</a>
  
    <li><a href="../ActiveModel/Serializers/Xml.html">ActiveModel::Serializers::Xml</a>
  
    <li><a href="../ActiveModel/StrictValidationFailed.html">ActiveModel::StrictValidationFailed</a>
  
    <li><a href="../ActiveModel/Translation.html">ActiveModel::Translation</a>
  
    <li><a href="../ActiveModel/Validations.html">ActiveModel::Validations</a>
  
    <li><a href="../ActiveModel/Validations/AcceptanceValidator.html">ActiveModel::Validations::AcceptanceValidator</a>
  
    <li><a href="../ActiveModel/Validations/Callbacks.html">ActiveModel::Validations::Callbacks</a>
  
    <li><a href="../ActiveModel/Validations/Callbacks/ClassMethods.html">ActiveModel::Validations::Callbacks::ClassMethods</a>
  
    <li><a href="../ActiveModel/Validations/ClassMethods.html">ActiveModel::Validations::ClassMethods</a>
  
    <li><a href="../ActiveModel/Validations/ConfirmationValidator.html">ActiveModel::Validations::ConfirmationValidator</a>
  
    <li><a href="../ActiveModel/Validations/ExclusionValidator.html">ActiveModel::Validations::ExclusionValidator</a>
  
    <li><a href="../ActiveModel/Validations/FormatValidator.html">ActiveModel::Validations::FormatValidator</a>
  
    <li><a href="../ActiveModel/Validations/HelperMethods.html">ActiveModel::Validations::HelperMethods</a>
  
    <li><a href="../ActiveModel/Validations/InclusionValidator.html">ActiveModel::Validations::InclusionValidator</a>
  
    <li><a href="../ActiveModel/Validations/LengthValidator.html">ActiveModel::Validations::LengthValidator</a>
  
    <li><a href="../ActiveModel/Validations/NumericalityValidator.html">ActiveModel::Validations::NumericalityValidator</a>
  
    <li><a href="../ActiveModel/Validations/PresenceValidator.html">ActiveModel::Validations::PresenceValidator</a>
  
    <li><a href="../ActiveModel/Validations/WithValidator.html">ActiveModel::Validations::WithValidator</a>
  
    <li><a href="../ActiveModel/Validator.html">ActiveModel::Validator</a>
  
    <li><a href="../ActiveResource.html">ActiveResource</a>
  
    <li><a href="../ActiveResource/Base.html">ActiveResource::Base</a>
  
    <li><a href="../ActiveResource/Connection.html">ActiveResource::Connection</a>
  
    <li><a href="../ActiveResource/CustomMethods.html">ActiveResource::CustomMethods</a>
  
    <li><a href="../ActiveResource/CustomMethods/ClassMethods.html">ActiveResource::CustomMethods::ClassMethods</a>
  
    <li><a href="../ActiveResource/Errors.html">ActiveResource::Errors</a>
  
    <li><a href="../ActiveResource/Formats.html">ActiveResource::Formats</a>
  
    <li><a href="../ActiveResource/Formats/JsonFormat.html">ActiveResource::Formats::JsonFormat</a>
  
    <li><a href="../ActiveResource/Formats/XmlFormat.html">ActiveResource::Formats::XmlFormat</a>
  
    <li><a href="../ActiveResource/HttpMock.html">ActiveResource::HttpMock</a>
  
    <li><a href="../ActiveResource/InvalidRequestError.html">ActiveResource::InvalidRequestError</a>
  
    <li><a href="../ActiveResource/LogSubscriber.html">ActiveResource::LogSubscriber</a>
  
    <li><a href="../ActiveResource/Observing.html">ActiveResource::Observing</a>
  
    <li><a href="../ActiveResource/Railtie.html">ActiveResource::Railtie</a>
  
    <li><a href="../ActiveResource/Request.html">ActiveResource::Request</a>
  
    <li><a href="../ActiveResource/Response.html">ActiveResource::Response</a>
  
    <li><a href="../ActiveResource/SSLError.html">ActiveResource::SSLError</a>
  
    <li><a href="../ActiveResource/TimeoutError.html">ActiveResource::TimeoutError</a>
  
    <li><a href="../ActiveResource/Validations.html">ActiveResource::Validations</a>
  
    <li><a href="../HTML.html">HTML</a>
  
    <li><a href="../HTML/FullSanitizer.html">HTML::FullSanitizer</a>
  
    <li><a href="../HTML/LinkSanitizer.html">HTML::LinkSanitizer</a>
  
    <li><a href="../HTML/Sanitizer.html">HTML::Sanitizer</a>
  
    <li><a href="../HTML/Selector.html">HTML::Selector</a>
  
    <li><a href="../HTML/Tag.html">HTML::Tag</a>
  
    <li><a href="../HTML/WhiteListSanitizer.html">HTML::WhiteListSanitizer</a>
  
    <li><a href="../Mysql.html">Mysql</a>
  
    <li><a href="../Mysql/Result.html">Mysql::Result</a>
  
    <li><a href="../Mysql/Stmt.html">Mysql::Stmt</a>
  
    <li><a href="../Mysql/Time.html">Mysql::Time</a>
  
    <li><a href="../Test.html">Test</a>
  
    <li><a href="../Test/Unit.html">Test::Unit</a>
  
    <li><a href="../Test/Unit/Collector.html">Test::Unit::Collector</a>
  
    <li><a href="../Test/Unit/Collector/ObjectSpace.html">Test::Unit::Collector::ObjectSpace</a>
  
    <li><a href="../I18n.html">I18n</a>
  
    <li><a href="../I18n/ExceptionHandler.html">I18n::ExceptionHandler</a>
  
    <li><a href="../I18n/Railtie.html">I18n::Railtie</a>
  
    <li><a href="../Object.html">Object</a>
  
    <li><a href="../ActiveSupport/HashWithIndifferentAccess.html">Object::HashWithIndifferentAccess</a>
  
    <li><a href="../LoadError.html">Object::MissingSourceFile</a>
  
    <li><a href="../ActionMailer.html">ActionMailer</a>
  
    <li><a href="../ActionMailer/Base.html">ActionMailer::Base</a>
  
    <li><a href="../ArJdbcMySQL.html">ArJdbcMySQL</a>
  
    <li><a href="../ArJdbcMySQL/Error.html">ArJdbcMySQL::Error</a>
  
    <li><a href="../ERB.html">ERB</a>
  
    <li><a href="../ERB/Util.html">ERB::Util</a>
  
    <li><a href="../LoadError.html">LoadError</a>
  
    <li><a href="../LoadError.html">LoadError</a>
  
    <li><a href="../Logger.html">Logger</a>
  
    <li><a href="../Logger/SimpleFormatter.html">Logger::SimpleFormatter</a>
  
    <li><a href="../Array.html">Array</a>
  
    <li><a href="../Base64.html">Base64</a>
  
    <li><a href="../Benchmark.html">Benchmark</a>
  
    <li><a href="../BigDecimal.html">BigDecimal</a>
  
    <li><a href="../Class.html">Class</a>
  
    <li><a href="../Date.html">Date</a>
  
    <li><a href="../DateTime.html">DateTime</a>
  
    <li><a href="../Enumerable.html">Enumerable</a>
  
    <li><a href="../FalseClass.html">FalseClass</a>
  
    <li><a href="../File.html">File</a>
  
    <li><a href="../Float.html">Float</a>
  
    <li><a href="../Hash.html">Hash</a>
  
    <li><a href="../Integer.html">Integer</a>
  
    <li><a href="../Kernel.html">Kernel</a>
  
    <li><a href="../Module.html">Module</a>
  
    <li><a href="../NameError.html">NameError</a>
  
    <li><a href="../NilClass.html">NilClass</a>
  
    <li><a href="../Numeric.html">Numeric</a>
  
    <li><a href="../Process.html">Process</a>
  
    <li><a href="../QualifiedConstUtils.html">QualifiedConstUtils</a>
  
    <li><a href="../Rails.html">Rails</a>
  
    <li><a href="../Range.html">Range</a>
  
    <li><a href="../Regexp.html">Regexp</a>
  
    <li><a href="../String.html">String</a>
  
    <li><a href="../Symbol.html">Symbol</a>
  
    <li><a href="../Time.html">Time</a>
  
    <li><a href="../TrueClass.html">TrueClass</a>
  
    <li><a href="../URI.html">URI</a>
  
  </ul>
</nav>

  </div>
</nav>

<div id="documentation">
  <h1 class="module">module ActiveSupport::Inflector</h1>

  <div id="description" class="description">
    
<p>The <a href="Inflector.html">Inflector</a> transforms words from singular
to plural, class names to table names, modularized class names to ones
without, and class names to foreign keys. The default inflections for
pluralization, singularization, and uncountable words are kept in
inflections.rb.</p>

<p>The <a href="../Rails.html">Rails</a> core team has stated patches for the
inflections library will not be accepted in order to avoid breaking legacy
applications which may be relying on errant inflections. If you discover an
incorrect inflection and require it for your application, you’ll need to
correct it yourself (explained below).</p>

  </div><!-- description -->

  
  
  
  <section id="5Buntitled-5D" class="documentation-section">
    

    

    

    

    <!-- Methods -->
    
     <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
      <h3 class="section-header">Public Instance Methods</h3>

    
      <div id="method-i-camelize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">camelize</span><span
            class="method-args">(term, uppercase_first_letter = true)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>By default, <code>camelize</code> converts strings to UpperCamelCase. If
the argument to <code>camelize</code> is set to <code>:lower</code> then
<code>camelize</code> produces lowerCamelCase.</p>

<p><code>camelize</code> will also convert '/' to '::' which is useful for
converting paths to namespaces.</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-string">&quot;active_model&quot;</span>.<span class="ruby-identifier">camelize</span>                <span class="ruby-comment"># =&gt; &quot;ActiveModel&quot;</span>
<span class="ruby-string">&quot;active_model&quot;</span>.<span class="ruby-identifier">camelize</span>(:<span class="ruby-identifier">lower</span>)        <span class="ruby-comment"># =&gt; &quot;activeModel&quot;</span>
<span class="ruby-string">&quot;active_model/errors&quot;</span>.<span class="ruby-identifier">camelize</span>         <span class="ruby-comment"># =&gt; &quot;ActiveModel::Errors&quot;</span>
<span class="ruby-string">&quot;active_model/errors&quot;</span>.<span class="ruby-identifier">camelize</span>(:<span class="ruby-identifier">lower</span>) <span class="ruby-comment"># =&gt; &quot;activeModel::Errors&quot;</span>
</pre>

<p>As a rule of thumb you can think of <code>camelize</code> as the inverse of
<code>underscore</code>, though there are cases where that does not hold:</p>

<pre class="ruby"><span class="ruby-string">&quot;SSLError&quot;</span>.<span class="ruby-identifier">underscore</span>.<span class="ruby-identifier">camelize</span> <span class="ruby-comment"># =&gt; &quot;SslError&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="camelize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 55</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">camelize</span>(<span class="ruby-identifier">term</span>, <span class="ruby-identifier">uppercase_first_letter</span> = <span class="ruby-keyword">true</span>)
  <span class="ruby-identifier">string</span> = <span class="ruby-identifier">term</span>.<span class="ruby-identifier">to_s</span>
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">uppercase_first_letter</span>
    <span class="ruby-identifier">string</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r^[a-z\d]*/</span>) { <span class="ruby-identifier">inflections</span>.<span class="ruby-identifier">acronyms</span>[<span class="ruby-node">$&amp;</span>] <span class="ruby-operator">||</span> <span class="ruby-node">$&amp;</span>.<span class="ruby-identifier">capitalize</span> }
  <span class="ruby-keyword">else</span>
    <span class="ruby-identifier">string</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-node">%r^(?:#{inflections.acronym_regex}(?=\b|[A-Z_])|\w)/</span>) { <span class="ruby-node">$&amp;</span>.<span class="ruby-identifier">downcase</span> }
  <span class="ruby-keyword">end</span>
  <span class="ruby-identifier">string</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r(?:_|(\/))([a-z\d]*)/</span>) { <span class="ruby-node">&quot;#{$1}#{inflections.acronyms[$2] || $2.capitalize}&quot;</span> }.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'/'</span>, <span class="ruby-string">'::'</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- camelize-source -->
          
        </div>

        

        
      </div><!-- camelize-method -->

    
      <div id="method-i-classify" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">classify</span><span
            class="method-args">(table_name)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Create a class name from a plural table name like <a
href="../Rails.html">Rails</a> does for table names to models. Note that
this returns a string and not a <a href="../Class.html">Class</a>. (To
convert to an actual class follow <code>classify</code> with
<code>constantize</code>.)</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-string">&quot;egg_and_hams&quot;</span>.<span class="ruby-identifier">classify</span> <span class="ruby-comment"># =&gt; &quot;EggAndHam&quot;</span>
<span class="ruby-string">&quot;posts&quot;</span>.<span class="ruby-identifier">classify</span>        <span class="ruby-comment"># =&gt; &quot;Post&quot;</span>
</pre>

<p>Singular names are not handled correctly:</p>

<pre class="ruby"><span class="ruby-string">&quot;business&quot;</span>.<span class="ruby-identifier">classify</span>     <span class="ruby-comment"># =&gt; &quot;Busines&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="classify-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 140</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">classify</span>(<span class="ruby-identifier">table_name</span>)
  <span class="ruby-comment"># strip out any leading schema name</span>
  <span class="ruby-identifier">camelize</span>(<span class="ruby-identifier">singularize</span>(<span class="ruby-identifier">table_name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r.*\./</span>, <span class="ruby-string">''</span>)))
<span class="ruby-keyword">end</span></pre>
          </div><!-- classify-source -->
          
        </div>

        

        
      </div><!-- classify-method -->

    
      <div id="method-i-constantize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">constantize</span><span
            class="method-args">(camel_cased_word)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Tries to find a constant with the name specified in the argument string:</p>

<pre class="ruby"><span class="ruby-string">&quot;Module&quot;</span>.<span class="ruby-identifier">constantize</span>     <span class="ruby-comment"># =&gt; Module</span>
<span class="ruby-string">&quot;Test::Unit&quot;</span>.<span class="ruby-identifier">constantize</span> <span class="ruby-comment"># =&gt; Test::Unit</span>
</pre>

<p>The name is assumed to be the one of a top-level constant, no matter
whether it starts with “::” or not. No lexical context is taken into
account:</p>

<pre class="ruby"><span class="ruby-constant">C</span> = <span class="ruby-string">'outside'</span>
<span class="ruby-keyword">module</span> <span class="ruby-constant">M</span>
  <span class="ruby-constant">C</span> = <span class="ruby-string">'inside'</span>
  <span class="ruby-constant">C</span>               <span class="ruby-comment"># =&gt; 'inside'</span>
  <span class="ruby-string">&quot;C&quot;</span>.<span class="ruby-identifier">constantize</span> <span class="ruby-comment"># =&gt; 'outside', same as ::C</span>
<span class="ruby-keyword">end</span>
</pre>

<p><a href="../NameError.html">NameError</a> is raised when the name is not in
CamelCase or the constant is unknown.</p>
          

          
          <div class="method-source-code" id="constantize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 213</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">constantize</span>(<span class="ruby-identifier">camel_cased_word</span>)
  <span class="ruby-identifier">names</span> = <span class="ruby-identifier">camel_cased_word</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">'::'</span>)
  <span class="ruby-identifier">names</span>.<span class="ruby-identifier">shift</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">names</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">names</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">empty?</span>

  <span class="ruby-identifier">constant</span> = <span class="ruby-constant">Object</span>
  <span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
    <span class="ruby-identifier">constant</span> = <span class="ruby-identifier">constant</span>.<span class="ruby-identifier">const_defined?</span>(<span class="ruby-identifier">name</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">constant</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">name</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">constant</span>.<span class="ruby-identifier">const_missing</span>(<span class="ruby-identifier">name</span>)
  <span class="ruby-keyword">end</span>
  <span class="ruby-identifier">constant</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- constantize-source -->
          
        </div>

        

        
      </div><!-- constantize-method -->

    
      <div id="method-i-dasherize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">dasherize</span><span
            class="method-args">(underscored_word)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Replaces underscores with dashes in the string.</p>

<p>Example:</p>

<pre class="ruby"><span class="ruby-string">&quot;puni_puni&quot;</span> <span class="ruby-comment"># =&gt; &quot;puni-puni&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="dasherize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 149</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">dasherize</span>(<span class="ruby-identifier">underscored_word</span>)
  <span class="ruby-identifier">underscored_word</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r_/</span>, <span class="ruby-string">'-'</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- dasherize-source -->
          
        </div>

        

        
      </div><!-- dasherize-method -->

    
      <div id="method-i-deconstantize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">deconstantize</span><span
            class="method-args">(path)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Removes the rightmost segment from the constant expression in the string:</p>

<pre class="ruby"><span class="ruby-string">&quot;Net::HTTP&quot;</span>.<span class="ruby-identifier">deconstantize</span>   <span class="ruby-comment"># =&gt; &quot;Net&quot;</span>
<span class="ruby-string">&quot;::Net::HTTP&quot;</span>.<span class="ruby-identifier">deconstantize</span> <span class="ruby-comment"># =&gt; &quot;::Net&quot;</span>
<span class="ruby-string">&quot;String&quot;</span>.<span class="ruby-identifier">deconstantize</span>      <span class="ruby-comment"># =&gt; &quot;&quot;</span>
<span class="ruby-string">&quot;::String&quot;</span>.<span class="ruby-identifier">deconstantize</span>    <span class="ruby-comment"># =&gt; &quot;&quot;</span>
<span class="ruby-string">&quot;&quot;</span>.<span class="ruby-identifier">deconstantize</span>            <span class="ruby-comment"># =&gt; &quot;&quot;</span>
</pre>

<p>See also <code>demodulize</code>.</p>
          

          
          <div class="method-source-code" id="deconstantize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 177</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">deconstantize</span>(<span class="ruby-identifier">path</span>)
  <span class="ruby-identifier">path</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-string">'::'</span>) <span class="ruby-operator">||</span> <span class="ruby-value">0</span>)] <span class="ruby-comment"># implementation based on the one in facets' Module#spacename</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- deconstantize-source -->
          
        </div>

        

        
      </div><!-- deconstantize-method -->

    
      <div id="method-i-demodulize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">demodulize</span><span
            class="method-args">(path)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Removes the module part from the expression in the string:</p>

<pre class="ruby"><span class="ruby-string">&quot;ActiveRecord::CoreExtensions::String::Inflections&quot;</span>.<span class="ruby-identifier">demodulize</span> <span class="ruby-comment"># =&gt; &quot;Inflections&quot;</span>
<span class="ruby-string">&quot;Inflections&quot;</span>.<span class="ruby-identifier">demodulize</span>                                       <span class="ruby-comment"># =&gt; &quot;Inflections&quot;</span>
</pre>

<p>See also <code>deconstantize</code>.</p>
          

          
          <div class="method-source-code" id="demodulize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 159</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">demodulize</span>(<span class="ruby-identifier">path</span>)
  <span class="ruby-identifier">path</span> = <span class="ruby-identifier">path</span>.<span class="ruby-identifier">to_s</span>
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">i</span> = <span class="ruby-identifier">path</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-string">'::'</span>)
    <span class="ruby-identifier">path</span>[(<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>)<span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
  <span class="ruby-keyword">else</span>
    <span class="ruby-identifier">path</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- demodulize-source -->
          
        </div>

        

        
      </div><!-- demodulize-method -->

    
      <div id="method-i-foreign_key" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">foreign_key</span><span
            class="method-args">(class_name, separate_class_name_and_id_with_underscore = true)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Creates a foreign key name from a class name.
<code>separate_class_name_and_id_with_underscore</code> sets whether the
method should put ‘_’ between the name and ‘id’.</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-string">&quot;Message&quot;</span>.<span class="ruby-identifier">foreign_key</span>        <span class="ruby-comment"># =&gt; &quot;message_id&quot;</span>
<span class="ruby-string">&quot;Message&quot;</span>.<span class="ruby-identifier">foreign_key</span>(<span class="ruby-keyword">false</span>) <span class="ruby-comment"># =&gt; &quot;messageid&quot;</span>
<span class="ruby-string">&quot;Admin::Post&quot;</span>.<span class="ruby-identifier">foreign_key</span>    <span class="ruby-comment"># =&gt; &quot;post_id&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="foreign_key-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 189</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">foreign_key</span>(<span class="ruby-identifier">class_name</span>, <span class="ruby-identifier">separate_class_name_and_id_with_underscore</span> = <span class="ruby-keyword">true</span>)
  <span class="ruby-identifier">underscore</span>(<span class="ruby-identifier">demodulize</span>(<span class="ruby-identifier">class_name</span>)) <span class="ruby-operator">+</span> (<span class="ruby-identifier">separate_class_name_and_id_with_underscore</span> <span class="ruby-operator">?</span> <span class="ruby-string">&quot;_id&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;id&quot;</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- foreign_key-source -->
          
        </div>

        

        
      </div><!-- foreign_key-method -->

    
      <div id="method-i-humanize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">humanize</span><span
            class="method-args">(lower_case_and_underscored_word)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Capitalizes the first word and turns underscores into spaces and strips a
trailing “_id”, if any. Like <code>titleize</code>, this is meant for
creating pretty output.</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-string">&quot;employee_salary&quot;</span> <span class="ruby-comment"># =&gt; &quot;Employee salary&quot;</span>
<span class="ruby-string">&quot;author_id&quot;</span>       <span class="ruby-comment"># =&gt; &quot;Author&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="humanize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 94</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">humanize</span>(<span class="ruby-identifier">lower_case_and_underscored_word</span>)
  <span class="ruby-identifier">result</span> = <span class="ruby-identifier">lower_case_and_underscored_word</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">dup</span>
  <span class="ruby-identifier">inflections</span>.<span class="ruby-identifier">humans</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">replacement</span>)<span class="ruby-operator">|</span> <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">replacement</span>) }
  <span class="ruby-identifier">result</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp">%r_id$/</span>, <span class="ruby-string">&quot;&quot;</span>)
  <span class="ruby-identifier">result</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp">%r_/</span>, <span class="ruby-string">' '</span>)
  <span class="ruby-identifier">result</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r([a-z\d]*)/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span>
    <span class="ruby-node">&quot;#{inflections.acronyms[match] || match.downcase}&quot;</span>
  }.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r^\w/</span>) { <span class="ruby-node">$&amp;</span>.<span class="ruby-identifier">upcase</span> }
<span class="ruby-keyword">end</span></pre>
          </div><!-- humanize-source -->
          
        </div>

        

        
      </div><!-- humanize-method -->

    
      <div id="method-i-inflections" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">inflections</span><span
            class="method-args">() { |instance| ... }</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Yields a singleton instance of <a
href="Inflector/Inflections.html">Inflector::Inflections</a> so you can
specify additional inflector rules.</p>

<p>Example:</p>

<pre class="ruby"><span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">Inflector</span>.<span class="ruby-identifier">inflections</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">inflect</span><span class="ruby-operator">|</span>
  <span class="ruby-identifier">inflect</span>.<span class="ruby-identifier">uncountable</span> <span class="ruby-string">&quot;rails&quot;</span>
<span class="ruby-keyword">end</span>
</pre>
          

          
          <div class="method-source-code" id="inflections-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/inflections.rb, line 166</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">inflections</span>
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
    <span class="ruby-keyword">yield</span> <span class="ruby-constant">Inflections</span>.<span class="ruby-identifier">instance</span>
  <span class="ruby-keyword">else</span>
    <span class="ruby-constant">Inflections</span>.<span class="ruby-identifier">instance</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- inflections-source -->
          
        </div>

        

        
      </div><!-- inflections-method -->

    
      <div id="method-i-ordinalize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">ordinalize</span><span
            class="method-args">(number)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Turns a number into an ordinal string used to denote the position in an
ordered sequence such as 1st, 2nd, 3rd, 4th.</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-identifier">ordinalize</span>(<span class="ruby-value">1</span>)     <span class="ruby-comment"># =&gt; &quot;1st&quot;</span>
<span class="ruby-identifier">ordinalize</span>(<span class="ruby-value">2</span>)     <span class="ruby-comment"># =&gt; &quot;2nd&quot;</span>
<span class="ruby-identifier">ordinalize</span>(<span class="ruby-value">1002</span>)  <span class="ruby-comment"># =&gt; &quot;1002nd&quot;</span>
<span class="ruby-identifier">ordinalize</span>(<span class="ruby-value">1003</span>)  <span class="ruby-comment"># =&gt; &quot;1003rd&quot;</span>
<span class="ruby-identifier">ordinalize</span>(<span class="ruby-value">-11</span>)   <span class="ruby-comment"># =&gt; &quot;-11th&quot;</span>
<span class="ruby-identifier">ordinalize</span>(<span class="ruby-value">-1021</span>) <span class="ruby-comment"># =&gt; &quot;-1021st&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="ordinalize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 279</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ordinalize</span>(<span class="ruby-identifier">number</span>)
  <span class="ruby-keyword">if</span> (<span class="ruby-value">11</span><span class="ruby-operator">..</span><span class="ruby-value">13</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">number</span>.<span class="ruby-identifier">to_i</span>.<span class="ruby-identifier">abs</span> <span class="ruby-operator">%</span> <span class="ruby-value">100</span>)
    <span class="ruby-node">&quot;#{number}th&quot;</span>
  <span class="ruby-keyword">else</span>
    <span class="ruby-keyword">case</span> <span class="ruby-identifier">number</span>.<span class="ruby-identifier">to_i</span>.<span class="ruby-identifier">abs</span> <span class="ruby-operator">%</span> <span class="ruby-value">10</span>
      <span class="ruby-keyword">when</span> <span class="ruby-value">1</span>; <span class="ruby-node">&quot;#{number}st&quot;</span>
      <span class="ruby-keyword">when</span> <span class="ruby-value">2</span>; <span class="ruby-node">&quot;#{number}nd&quot;</span>
      <span class="ruby-keyword">when</span> <span class="ruby-value">3</span>; <span class="ruby-node">&quot;#{number}rd&quot;</span>
      <span class="ruby-keyword">else</span>    <span class="ruby-node">&quot;#{number}th&quot;</span>
    <span class="ruby-keyword">end</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- ordinalize-source -->
          
        </div>

        

        
      </div><!-- ordinalize-method -->

    
      <div id="method-i-parameterize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">parameterize</span><span
            class="method-args">(string, sep = '-')</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Replaces special characters in a string so that it may be used as part of a
‘pretty’ URL.</p>

<h4 id="method-i-parameterize-label-Examples">Examples</h4>

<pre>class Person
  def to_param
    &quot;#{id}-#{name.parameterize}&quot;
  end
end

@person = Person.find(1)
# =&gt; #&lt;Person id: 1, name: &quot;Donald E. Knuth&quot;&gt;

&lt;%= link_to(@person.name, person_path(@person)) %&gt;
# =&gt; &lt;a href=&quot;/person/1-donald-e-knuth&quot;&gt;Donald E. Knuth&lt;/a&gt;</pre>
          

          
          <div class="method-source-code" id="parameterize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/transliterate.rb, line 81</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">parameterize</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">sep</span> = <span class="ruby-string">'-'</span>)
  <span class="ruby-comment"># replace accented chars with their ascii equivalents</span>
  <span class="ruby-identifier">parameterized_string</span> = <span class="ruby-identifier">transliterate</span>(<span class="ruby-identifier">string</span>)
  <span class="ruby-comment"># Turn unwanted chars into the separator</span>
  <span class="ruby-identifier">parameterized_string</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp">%r[^a-z0-9\-_]+/</span>, <span class="ruby-identifier">sep</span>)
  <span class="ruby-keyword">unless</span> <span class="ruby-identifier">sep</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">sep</span>.<span class="ruby-identifier">empty?</span>
    <span class="ruby-identifier">re_sep</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-identifier">sep</span>)
    <span class="ruby-comment"># No more than one of the separator in a row.</span>
    <span class="ruby-identifier">parameterized_string</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">%r#{re_sep}{2,}/</span>, <span class="ruby-identifier">sep</span>)
    <span class="ruby-comment"># Remove leading/trailing separator.</span>
    <span class="ruby-identifier">parameterized_string</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">%r^#{re_sep}|#{re_sep}$/</span>, <span class="ruby-string">''</span>)
  <span class="ruby-keyword">end</span>
  <span class="ruby-identifier">parameterized_string</span>.<span class="ruby-identifier">downcase</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- parameterize-source -->
          
        </div>

        

        
      </div><!-- parameterize-method -->

    
      <div id="method-i-pluralize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">pluralize</span><span
            class="method-args">(word)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns the plural form of the word in the string.</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-string">&quot;post&quot;</span>.<span class="ruby-identifier">pluralize</span>             <span class="ruby-comment"># =&gt; &quot;posts&quot;</span>
<span class="ruby-string">&quot;octopus&quot;</span>.<span class="ruby-identifier">pluralize</span>          <span class="ruby-comment"># =&gt; &quot;octopi&quot;</span>
<span class="ruby-string">&quot;sheep&quot;</span>.<span class="ruby-identifier">pluralize</span>            <span class="ruby-comment"># =&gt; &quot;sheep&quot;</span>
<span class="ruby-string">&quot;words&quot;</span>.<span class="ruby-identifier">pluralize</span>            <span class="ruby-comment"># =&gt; &quot;words&quot;</span>
<span class="ruby-string">&quot;CamelOctopus&quot;</span>.<span class="ruby-identifier">pluralize</span>     <span class="ruby-comment"># =&gt; &quot;CamelOctopi&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="pluralize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 24</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">pluralize</span>(<span class="ruby-identifier">word</span>)
  <span class="ruby-identifier">apply_inflections</span>(<span class="ruby-identifier">word</span>, <span class="ruby-identifier">inflections</span>.<span class="ruby-identifier">plurals</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- pluralize-source -->
          
        </div>

        

        
      </div><!-- pluralize-method -->

    
      <div id="method-i-safe_constantize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">safe_constantize</span><span
            class="method-args">(camel_cased_word)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Tries to find a constant with the name specified in the argument string:</p>

<pre class="ruby"><span class="ruby-string">&quot;Module&quot;</span>.<span class="ruby-identifier">safe_constantize</span>     <span class="ruby-comment"># =&gt; Module</span>
<span class="ruby-string">&quot;Test::Unit&quot;</span>.<span class="ruby-identifier">safe_constantize</span> <span class="ruby-comment"># =&gt; Test::Unit</span>
</pre>

<p>The name is assumed to be the one of a top-level constant, no matter
whether it starts with “::” or not. No lexical context is taken into
account:</p>

<pre class="ruby"><span class="ruby-constant">C</span> = <span class="ruby-string">'outside'</span>
<span class="ruby-keyword">module</span> <span class="ruby-constant">M</span>
  <span class="ruby-constant">C</span> = <span class="ruby-string">'inside'</span>
  <span class="ruby-constant">C</span>                    <span class="ruby-comment"># =&gt; 'inside'</span>
  <span class="ruby-string">&quot;C&quot;</span>.<span class="ruby-identifier">safe_constantize</span> <span class="ruby-comment"># =&gt; 'outside', same as ::C</span>
<span class="ruby-keyword">end</span>
</pre>

<p>nil is returned when the name is not in CamelCase or the constant (or part
of it) is unknown.</p>

<pre class="ruby"><span class="ruby-string">&quot;blargle&quot;</span>.<span class="ruby-identifier">safe_constantize</span>  <span class="ruby-comment"># =&gt; nil</span>
<span class="ruby-string">&quot;UnknownModule&quot;</span>.<span class="ruby-identifier">safe_constantize</span>  <span class="ruby-comment"># =&gt; nil</span>
<span class="ruby-string">&quot;UnknownModule::Foo::Bar&quot;</span>.<span class="ruby-identifier">safe_constantize</span>  <span class="ruby-comment"># =&gt; nil</span>
</pre>
          

          
          <div class="method-source-code" id="safe_constantize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 258</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">safe_constantize</span>(<span class="ruby-identifier">camel_cased_word</span>)
  <span class="ruby-keyword">begin</span>
    <span class="ruby-identifier">constantize</span>(<span class="ruby-identifier">camel_cased_word</span>)
  <span class="ruby-keyword">rescue</span> <span class="ruby-constant">NameError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
    <span class="ruby-identifier">raise</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">=~</span> <span class="ruby-node">%r(uninitialized constant|wrong constant name) #{const_regexp(camel_cased_word)}$/</span> <span class="ruby-operator">||</span>
      <span class="ruby-identifier">e</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">camel_cased_word</span>.<span class="ruby-identifier">to_s</span>
  <span class="ruby-keyword">rescue</span> <span class="ruby-constant">ArgumentError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
    <span class="ruby-identifier">raise</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">=~</span> <span class="ruby-node">%rnot missing constant #{const_regexp(camel_cased_word)}\!$/</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- safe_constantize-source -->
          
        </div>

        

        
      </div><!-- safe_constantize-method -->

    
      <div id="method-i-singularize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">singularize</span><span
            class="method-args">(word)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>The reverse of <code>pluralize</code>, returns the singular form of a word
in a string.</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-string">&quot;posts&quot;</span>.<span class="ruby-identifier">singularize</span>            <span class="ruby-comment"># =&gt; &quot;post&quot;</span>
<span class="ruby-string">&quot;octopi&quot;</span>.<span class="ruby-identifier">singularize</span>           <span class="ruby-comment"># =&gt; &quot;octopus&quot;</span>
<span class="ruby-string">&quot;sheep&quot;</span>.<span class="ruby-identifier">singularize</span>            <span class="ruby-comment"># =&gt; &quot;sheep&quot;</span>
<span class="ruby-string">&quot;word&quot;</span>.<span class="ruby-identifier">singularize</span>             <span class="ruby-comment"># =&gt; &quot;word&quot;</span>
<span class="ruby-string">&quot;CamelOctopi&quot;</span>.<span class="ruby-identifier">singularize</span>      <span class="ruby-comment"># =&gt; &quot;CamelOctopus&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="singularize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 36</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">singularize</span>(<span class="ruby-identifier">word</span>)
  <span class="ruby-identifier">apply_inflections</span>(<span class="ruby-identifier">word</span>, <span class="ruby-identifier">inflections</span>.<span class="ruby-identifier">singulars</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- singularize-source -->
          
        </div>

        

        
      </div><!-- singularize-method -->

    
      <div id="method-i-tableize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">tableize</span><span
            class="method-args">(class_name)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Create the name of a table like <a href="../Rails.html">Rails</a> does for
models to table names. This method uses the <code>pluralize</code> method
on the last word in the string.</p>

<p>Examples</p>

<pre class="ruby"><span class="ruby-string">&quot;RawScaledScorer&quot;</span>.<span class="ruby-identifier">tableize</span> <span class="ruby-comment"># =&gt; &quot;raw_scaled_scorers&quot;</span>
<span class="ruby-string">&quot;egg_and_ham&quot;</span>.<span class="ruby-identifier">tableize</span>     <span class="ruby-comment"># =&gt; &quot;egg_and_hams&quot;</span>
<span class="ruby-string">&quot;fancyCategory&quot;</span>.<span class="ruby-identifier">tableize</span>   <span class="ruby-comment"># =&gt; &quot;fancy_categories&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="tableize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 126</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">tableize</span>(<span class="ruby-identifier">class_name</span>)
  <span class="ruby-identifier">pluralize</span>(<span class="ruby-identifier">underscore</span>(<span class="ruby-identifier">class_name</span>))
<span class="ruby-keyword">end</span></pre>
          </div><!-- tableize-source -->
          
        </div>

        

        
      </div><!-- tableize-method -->

    
      <div id="method-i-titleize" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">titleize</span><span
            class="method-args">(word)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Capitalizes all the words and replaces some characters in the string to
create a nicer looking title. <code>titleize</code> is meant for creating
pretty output. It is not used in the <a href="../Rails.html">Rails</a>
internals.</p>

<p><code>titleize</code> is also aliased as as <code>titlecase</code>.</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-string">&quot;man from the boondocks&quot;</span>.<span class="ruby-identifier">titleize</span>   <span class="ruby-comment"># =&gt; &quot;Man From The Boondocks&quot;</span>
<span class="ruby-string">&quot;x-men: the last stand&quot;</span>.<span class="ruby-identifier">titleize</span>    <span class="ruby-comment"># =&gt; &quot;X Men: The Last Stand&quot;</span>
<span class="ruby-string">&quot;TheManWithoutAPast&quot;</span>.<span class="ruby-identifier">titleize</span>       <span class="ruby-comment"># =&gt; &quot;The Man Without A Past&quot;</span>
<span class="ruby-string">&quot;raiders_of_the_lost_ark&quot;</span>.<span class="ruby-identifier">titleize</span>  <span class="ruby-comment"># =&gt; &quot;Raiders Of The Lost Ark&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="titleize-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 115</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">titleize</span>(<span class="ruby-identifier">word</span>)
  <span class="ruby-identifier">humanize</span>(<span class="ruby-identifier">underscore</span>(<span class="ruby-identifier">word</span>)).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r\b('?[a-z])/</span>) { <span class="ruby-node">$1</span>.<span class="ruby-identifier">capitalize</span> }
<span class="ruby-keyword">end</span></pre>
          </div><!-- titleize-source -->
          
        </div>

        

        
      </div><!-- titleize-method -->

    
      <div id="method-i-transliterate" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">transliterate</span><span
            class="method-args">(string, replacement = "?")</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Replaces non-ASCII characters with an ASCII approximation, or if none
exists, a replacement character which defaults to “?”.</p>

<pre class="ruby"><span class="ruby-identifier">transliterate</span>(<span class="ruby-string">&quot;Ærøskøbing&quot;</span>)
<span class="ruby-comment"># =&gt; &quot;AEroskobing&quot;</span>
</pre>

<p>Default approximations are provided for Western/Latin characters, e.g, “ø”,
“ñ”, “é”, “ß”, etc.</p>

<p>This method is <a href="../I18n.html">I18n</a> aware, so you can set up
custom approximations for a locale. This can be useful, for example, to
transliterate German’s “ü” and “ö” to “ue” and “oe”, or to add support for
transliterating Russian to ASCII.</p>

<p>In order to make your custom transliterations available, you must set them
as the <code>i18n.transliterate.rule</code> i18n key:</p>

<pre class="ruby"><span class="ruby-comment"># Store the transliterations in locales/de.yml</span>
<span class="ruby-identifier">i18n</span><span class="ruby-operator">:</span>
  <span class="ruby-identifier">transliterate</span><span class="ruby-operator">:</span>
    <span class="ruby-identifier">rule</span><span class="ruby-operator">:</span>
      <span class="ruby-identifier">ü</span><span class="ruby-operator">:</span> <span class="ruby-string">&quot;ue&quot;</span>
      <span class="ruby-identifier">ö</span><span class="ruby-operator">:</span> <span class="ruby-string">&quot;oe&quot;</span>

<span class="ruby-comment"># Or set them using Ruby</span>
<span class="ruby-constant">I18n</span>.<span class="ruby-identifier">backend</span>.<span class="ruby-identifier">store_translations</span>(:<span class="ruby-identifier">de</span>, :<span class="ruby-identifier">i18n</span> =<span class="ruby-operator">&gt;</span> {
  :<span class="ruby-identifier">transliterate</span> =<span class="ruby-operator">&gt;</span> {
    :<span class="ruby-identifier">rule</span> =<span class="ruby-operator">&gt;</span> {
      <span class="ruby-string">&quot;ü&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;ue&quot;</span>,
      <span class="ruby-string">&quot;ö&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;oe&quot;</span>
    }
  }
})
</pre>

<p>The value for <code>i18n.transliterate.rule</code> can be a simple <a
href="../Hash.html">Hash</a> that maps characters to ASCII approximations
as shown above, or, for more complex requirements, a Proc:</p>

<pre class="ruby"><span class="ruby-constant">I18n</span>.<span class="ruby-identifier">backend</span>.<span class="ruby-identifier">store_translations</span>(:<span class="ruby-identifier">de</span>, :<span class="ruby-identifier">i18n</span> =<span class="ruby-operator">&gt;</span> {
  :<span class="ruby-identifier">transliterate</span> =<span class="ruby-operator">&gt;</span> {
    :<span class="ruby-identifier">rule</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lambda</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">string</span><span class="ruby-operator">|</span> <span class="ruby-constant">MyTransliterator</span>.<span class="ruby-identifier">transliterate</span>(<span class="ruby-identifier">string</span>)}
  }
})
</pre>

<p>Now you can have different transliterations for each locale:</p>

<pre class="ruby"><span class="ruby-constant">I18n</span>.<span class="ruby-identifier">locale</span> = :<span class="ruby-identifier">en</span>
<span class="ruby-identifier">transliterate</span>(<span class="ruby-string">&quot;Jürgen&quot;</span>)
<span class="ruby-comment"># =&gt; &quot;Jurgen&quot;</span>

<span class="ruby-constant">I18n</span>.<span class="ruby-identifier">locale</span> = :<span class="ruby-identifier">de</span>
<span class="ruby-identifier">transliterate</span>(<span class="ruby-string">&quot;Jürgen&quot;</span>)
<span class="ruby-comment"># =&gt; &quot;Juergen&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="transliterate-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/transliterate.rb, line 60</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">transliterate</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">replacement</span> = <span class="ruby-string">&quot;?&quot;</span>)
  <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">transliterate</span>(<span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">Multibyte</span><span class="ruby-operator">::</span><span class="ruby-constant">Unicode</span>.<span class="ruby-identifier">normalize</span>(
    <span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">Multibyte</span><span class="ruby-operator">::</span><span class="ruby-constant">Unicode</span>.<span class="ruby-identifier">tidy_bytes</span>(<span class="ruby-identifier">string</span>), <span class="ruby-value">:c</span>),
      <span class="ruby-value">:replacement</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">replacement</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- transliterate-source -->
          
        </div>

        

        
      </div><!-- transliterate-method -->

    
      <div id="method-i-underscore" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">underscore</span><span
            class="method-args">(camel_cased_word)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Makes an underscored, lowercase form from the expression in the string.</p>

<p>Changes ‘::’ to ‘/’ to convert namespaces to paths.</p>

<p>Examples:</p>

<pre class="ruby"><span class="ruby-string">&quot;ActiveModel&quot;</span>.<span class="ruby-identifier">underscore</span>         <span class="ruby-comment"># =&gt; &quot;active_model&quot;</span>
<span class="ruby-string">&quot;ActiveModel::Errors&quot;</span>.<span class="ruby-identifier">underscore</span> <span class="ruby-comment"># =&gt; &quot;active_model/errors&quot;</span>
</pre>

<p>As a rule of thumb you can think of <code>underscore</code> as the inverse
of <code>camelize</code>, though there are cases where that does not hold:</p>

<pre class="ruby"><span class="ruby-string">&quot;SSLError&quot;</span>.<span class="ruby-identifier">underscore</span>.<span class="ruby-identifier">camelize</span> <span class="ruby-comment"># =&gt; &quot;SslError&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="underscore-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/inflector/methods.rb, line 77</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">underscore</span>(<span class="ruby-identifier">camel_cased_word</span>)
  <span class="ruby-identifier">word</span> = <span class="ruby-identifier">camel_cased_word</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">dup</span>
  <span class="ruby-identifier">word</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp">%r::/</span>, <span class="ruby-string">'/'</span>)
  <span class="ruby-identifier">word</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">%r(?:([A-Za-z\d])|^)(#{inflections.acronym_regex})(?=\b|[^a-z])/</span>) { <span class="ruby-node">&quot;#{$1}#{$1 &amp;&amp; '_'}#{$2.downcase}&quot;</span> }
  <span class="ruby-identifier">word</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp">%r([A-Z\d]+)([A-Z][a-z])/</span>,<span class="ruby-string">'\1_\2'</span>)
  <span class="ruby-identifier">word</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp">%r([a-z\d])([A-Z])/</span>,<span class="ruby-string">'\1_\2'</span>)
  <span class="ruby-identifier">word</span>.<span class="ruby-identifier">tr!</span>(<span class="ruby-string">&quot;-&quot;</span>, <span class="ruby-string">&quot;_&quot;</span>)
  <span class="ruby-identifier">word</span>.<span class="ruby-identifier">downcase!</span>
  <span class="ruby-identifier">word</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- underscore-source -->
          
        </div>

        

        
      </div><!-- underscore-method -->

    
    </section><!-- public-instance-method-details -->
  
  </section><!-- 5Buntitled-5D -->

</div><!-- documentation -->


<footer id="validator-badges">
  <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
  <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
  <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
</footer>

